<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta http-equiv="content-type" content="text/html;charset=utf-8">
    <link href="../../style.css" rel="stylesheet" type="text/css">
    <link rel="icon" href="../../images/PETSc_RGB-logo.png" type="image/png" sizes="16x16">
    <title>PETSc: Documentation: Changes: 2.1.6</title>
  </head>
  <body>

    <div id="logo">
      <h1>PETSc</h1>
    </div>

    <div id="header">
      <h1><!--begin-->Documentation: Changes: 2.1.6<!--end--></h1>
    </div>

    <hr>

    <div id="sidebar">
      <ul>
        <li><a href="../../index.html">Home</a></li>
        <li><a href="../../download/index.html">Download</a></li>
        <li><a href="../../features/index.html">Features</a></li>
        <li>
          <a href="../../documentation/index.html">Documentation</a>
          <ul>
            <li><a href="../index.html">Manual pages and Users Manual</a></li>
            <li><a href="../referencing.html">Referencing PETSc</a></li>
            <li><a href="../tutorials/index.html">Tutorials</a></li>
            <li><a href="../installation.html">Installation</a></li>
            <li><a href="../saws.html">SAWs</a></li>
            <li>
              <a href="index.html">Changes</a>
              <ul>
                <li><a href="dev.html">dev</a></li>
                <li><a href="313.html">3.13</a></li>
                <li><a href="312.html">3.12</a></li>
                <li><a href="311.html">3.11</a></li>
                <li><a href="310.html">3.10</a></li>
                <li><a href="39.html">3.9</a></li>
                <li><a href="38.html">3.8</a></li>
                <li><a href="37.html">3.7</a></li>
                <li><a href="36.html">3.6</a></li>
                <li><a href="35.html">3.5</a></li>
                <li><a href="34.html">3.4</a></li>
                <li><a href="33.html">3.3</a></li>
                <li><a href="32.html">3.2</a></li>
                <li><a href="31.html">3.1</a></li>
                <li><a href="300.html">3.0.0</a></li>
                <li><a href="233.html">2.3.3</a></li>
                <li><a href="232.html">2.3.2</a></li>
                <li><a href="231.html">2.3.1</a></li>
                <li><a href="230.html">2.3.0</a></li>
                <li><a href="221.html">2.2.1</a></li>
                <li><a href="220.html">2.2.0</a></li>
                <li><span class="current">2.1.6</span></li>
                <li><a href="215.html">2.1.5</a></li>
                <li><a href="213.html">2.1.3</a></li>
                <li><a href="212.html">2.1.2</a></li>
                <li><a href="211.html">2.1.1</a></li>
                <li><a href="21.html">2.1.0</a></li>
                <li><a href="2029.html">2.0.29</a></li>
                <li><a href="2028.html">2.0.28</a></li>
                <li><a href="2024.html">2.0.24</a></li>
                <li><a href="2022.html">2.0.22</a></li>
                <li><a href="2018-21.html">2.0.18-21</a></li>
                <li><a href="2017.html">2.0.17</a></li>
                <li><a href="2016.html">2.0.16</a></li>
                <li><a href="2015.html">2.0.15</a></li>
              </ul>
            </li>
            <li><a href="../bugreporting.html">Bug Reporting</a></li>
            <li><a href="../codemanagement.html">Code Management</a></li>
            <li><a href="../faq.html">FAQ</a></li>
            <li><a href="../license.html">License</a></li>
            <li><a href="../linearsolvertable.html">Linear Solver Table</a></li>
            <li><a href="../nonlinearsolvertable.html">Nonlinear Solver Table</a></li>
	    <li><a href="../taosolvertable.html">TAO Solver Table</a></li>
          </ul>
        </li>
        <li><a href="../../publications/index.html">Applications/Publications</a></li>
        <li><a href="../../miscellaneous/index.html">Miscellaneous</a></li>
        <li><a href="../../miscellaneous/external.html">External Software</a></li>
        <li><a href="https://docs.petsc.org/en/latest/developers/index.html">Developers Site</a></li>
      </ul>
    </div>

    <!--begin-->

    <style type="text/css">
      h2 {
        color: red;
      }

      h4 {
        font-weight: bold;
        text-decoration: underline;
      }
    </style>

    <div id="main">

      <div align="center">
        <h2><a name="CHANGES">CHANGES in PETSc 2.1.6</a></h2>
      </div>

      <h4>General:</h4>

      <ul>
        <li>Added support for Cray X1</li>
        <li>
          Added option '-suggest' to petscarch script. It suggests some
          possible PETSC_ARCHes to use
        </li>

        <li>Installation instructions are rewritten</li>
      </ul>

      <h4>Vec:</h4>

      <ul>
        <li> VecNorm now caches NORM_2</li>
        <li>Added VecStrideScale(), VecStrideGather(), VecStrideScatter()</li>
        <li>Added VecBlockNorm(),VecBlockMax(),VecBlockMin(),VecBlockScale()</li>
      </ul>

      <h4>Mat:</h4>

      <ul>
        <li>
          The interface to external packages that support direct solvers has
          been reorganized. This is implemented using new matrix types
          MATSEQAIJSPOOLES, MATMPIAIJSPOOLES, MATSEQSBAIJSPOOLES,
          MATMPISBAIJSPOOLES, MATSUPERLU, MATSUPERLU_DIST, MATUMFPACK,MATESSL,
          MATLUSOL, MATAIJMUMPS, MATSBAIJMUMPS, MATDSCPACK
        </li>

        <li>
          Added new convenience matrix types which automatically switch between
          Seq and MPI implementations depending on the size of the communicator
          used during creation: MATAIJ, MATBAIJ, MATSBAIJ, MATMAIJ, MATDENSE,
          MATBDIAG
        </li>

        <li>
          Changed default matrix-free compute h to use WP since it uses fewer
          reductions
        </li>

        <li>Replace the datatypes MatLUInfo and MatILUInfo by MatFactorInfo</li>
        <li>Added cholesky support to SeqAIJ</li>
        <li>Added support for SUBSET_NONZERO_PATTERN with MatAXPY for AIJ &amp; BAIJ</li>
        <li>Added MatIsSymmetric() for AIJ</li>
        <li>Added LDA support in SeqDense</li>
        <li>The ncols argument made optional in MatGetRow()</li>
        <li>Added MAT_KEEP_ZEROED_ROWS for MPIROWBS</li>
        <li>Removed -aij_oneindex support from AIJ code</li>
        <li>Added MatPartitioningSetPartitionWeights() - useable with ParMetis</li>
        <li>MatGetSubMatrices() now works for ROWBS</li>
      </ul>

      <h4>PC:</h4>

      <ul>
        <li>Added PCICCSetDamping() or -pc_icc_damping</li>
        <li>Added -pc_constant_null_space</li>
        <li>Added PCILUSetShift() or -pc_ilu_shift to support damping using the identity</li>
        <li>Added PCLUSetShift() or -pc_lu_shift to support damping using the identity</li>
        <li>Added PCICCSetShift() or -pc_icc_shift to support damping using the identity</li>
      </ul>

      <h4>KSP:</h4>

      <ul>
        <li>Added a new ksp_type LGMRES</li>
        <li>Added KSPSetComputeSingularValues() support to ksp_type FGMRES</li>
      </ul>

      <h4>TS:</h4>

      <ul>
        <li>Added support for Runge-Kutta using ts_type TS_RUNGE_KUTTA</li>
      </ul>

      <h4>DMMG:</h4>

      <ul>
        <li>-dmmg_jacobian_period -1 =&gt; jacobian is frozen after initial construction</li>
      </ul>

      <h4>DA:</h4>

      <ul>
        <li>Allow user preallocation of jacobian using DASetGetMatrix()</li>
        <li>DAGetMatrix now correctly returns the requested type.</li>
        <li>-mat_type typename overloads the requested type for DAGetMatrix</li>
      </ul>

      <h4>SYS:</h4>

      <ul>
        <li>Added new viewer_type PETSC_VIEWER_NETCDF, PETSC_VIEWER_HDF4</li>
        <li>PETSc error handlers now trap many more signals.</li>
      </ul>

      <h4>Fortran:</h4>

      <ul>
        <li>PetscPushErrorHandler() and PetscPopErrorHandler() now supported</li>
        <li>PetscPrintf() and PetscSynchronizedPrintf() now work in fortran with a single string</li>
      </ul>

      <h4>External Packages:</h4>

      <ul>
        <li>Added TSPVodeGetParameters()</li>
        <li>Parmetis-3 support added using MatPartitionSetNParts(), ISPartitionCount()</li>
        <li>MUMPS support added, including complex (using mat_type MATAIJMUMPS, MATSBAIJMUMPS)</li>
        <li>Updated SuperLU_DIST interface to SuperLU_DIST_2.0</li>
        <li>Added Spooles complex support</li>
        <li>Added Spooles cholesky for SeqAIJ</li>

        <li>
          ADIC: ad_GRAD_MAX is now set in the application and compiled into
          code when compiling appplication
        </li>

        <li>
          The following variable names - in the buildsystem are changed - that
          correspond with SuperLU_DIST SUPERLUDIST_INCLUDE -&gt;
          SUPERLU_DIST_INCLUDE SUPERLUDIST_LIB -&gt; SUPERLU_DIST_LIB
          PETSCHAVE_SUPERLU -&gt; PETSC_HAVE_SUPERLU
        </li>
      </ul>

    </div>

    <!--end-->

    <hr>

  </body>
</html>
